import Vue from 'vue'
import 'normalize.css/normalize.css' // css样式初始化

import ElementUI from 'element-ui' // elementui组件库
import 'element-ui/lib/theme-chalk/index.css' // elementui的样式
// import locale from 'element-ui/lib/locale/lang/en' // elementui的英文包

import '@/styles/index.scss' // 全局的样式文件

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // svg图标
import '@/permission' // 权限控制(导航守卫)
// 直接导入并执行指令文件-------------------------------直接导入并执行
// import "@/directives";
// ---------------------------------------------------按需注册指令, 如果注册的指令较多,  Vue.directive写好多次
// import { imgerr, red } from "@/directives";
// Vue.directive("imgerr", imgerr);
// Vue.directive("red", red);
// -----------------------------------------------------批量注册指令
import * as allDirectives from '@/directives' // 按需导出的文件  批量导入
import MyUI from '@/components'

import i18n from '@/lang'

// import '@/styles/element-variables.scss'

import Print from 'vue-print-nb'
Vue.use(Print) // Vue.directive('print', {})   v-print

// import mix from '@/mixins'
// Vue.mixin(mix)
Vue.use(MyUI)
// console.log(allDirectives);
// 遍历对象 批量注册
// for (const k in allDirectives) {Vue.directive(k, allDirectives[k])}
// Object.keys批量遍历
// console.log(Object.keys(allDirectives));
Object.keys(allDirectives).forEach((k) => Vue.directive(k, allDirectives[k]))
// 使用elementui 英文版
// Vue.use(ElementUI, { locale })
// 全局安装注册ElementUI组件库, 并且开启国际化模式
Vue.use(ElementUI, {
  i18n: (key, value) => i18n.t(key, value)
})

// 如果想要中文版 element-ui，按如下方式声明
Vue.config.productionTip = false

new Vue({
  el: '#app',
  router, // $router  $route
  i18n, // $t
  store, // $store
  render: (h) => h(App)
})
